
USE [WMIzapisy]
GO
/****** Object:  StoredProcedure [dbo].[GetGrZajeciowa]    Script Date: 1/1/2011 15:17:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

alter PROCEDURE [dbo].[GetGrZajeciowa](@id_gr_zajeciowej INT)
AS
	SELECT g.id,
		   g.nazwa as nazwa_gr_zajeciowej,
		   g.dzien,
		   CONVERT(CHAR(5),g.godz_rozp,108) as godz_rozp,
		   p.nazwa_skrot as nazwa_przedmiotu_skrot,
                   g.wyk_cw
		FROM Grupa_zajeciowa g
			LEFT JOIN Przedmiot p
			ON g.przedmiot_id = p.id
		WHERE g.id = @id_gr_zajeciowej

USE [WMIzapisy]
GO
/****** Object:  StoredProcedure [dbo].[GetCwiczenia]    Script Date: 01/01/2011 20:27:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

create PROCEDURE [dbo].[GetWykladForCwiczenia](@cwiczenia INT)
AS
SELECT cdw.wyklad_id as id,
	   CONVERT(CHAR(5),g.godz_rozp,108) as godz_rozp,
	   g.dzien
FROM CwiczeniaDoWykladu cdw
LEFT JOIN Grupa_zajeciowa g
ON cdw.wyklad_id = g.id
WHERE cdw.cwiczenia_id = @cwiczenia

--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------

/****** Object:  UserDefinedFunction [dbo].[GetGrZajeciowaWithConnection]    Script Date: 02/01/2011 17:52:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[GetGrZajeciowaWithConnection](@id_gr_zajeciowej INT)
returns @db TABLE(id int,
           nazwa varchar(255),
		   dzien varchar(255),
		   wyk_cw bit,
		   sala varchar(255),
		   godz_rozp char(5),
		   nazwa_przedmiotu_skrot varchar(255),
		   przedmiot varchar(255),
		   prowadzacy varchar(255))

AS
 BEGIN
 DECLARE @connected_gr INT
  -- pobranie informacji o zajeciach o id dla ktorego zostala wywołana funkcja
  insert into @db
           SELECT g.id,
		   g.nazwa,
		   g.dzien,
		   g.wyk_cw,
		   g.sala,
		   CONVERT(CHAR(5),g.godz_rozp,108) as godz_rozp,
		   p.nazwa_skrot as nazwa_przedmiotu_skrot,
		   p.nazwa as przedmiot,
		   pr.tytul+' '+pr.imie+' '+pr.nazwisko as prowadzacy
		FROM Grupa_zajeciowa g
			LEFT JOIN Przedmiot p
			ON g.przedmiot_id = p.id
			LEFT JOIN Prowadzacy pr
			ON pr.id = g.prowadzacy_id
		WHERE g.id = @id_gr_zajeciowej
  -- pobranie danych dotyczacych powiązanego wykładu, bądż ćwiczeń
  IF EXISTS(  -- sprawdzenie czy istnieje wykład dla zajeć o id @id_gr_zajeciowej
		SELECT cdw.wyklad_id FROM CwiczeniaDoWykladu as cdw WHERE cdw.cwiczenia_id=@id_gr_zajeciowej
	)BEGIN
	    SET @connected_gr = (SELECT cdw.wyklad_id FROM CwiczeniaDoWykladu as cdw WHERE cdw.cwiczenia_id=@id_gr_zajeciowej)
	END


	-- pobranie informacji o zajeciach o id @connected_gr
  IF (@connected_gr IS NOT NULL)
	BEGIN
	INSERT into @db
           SELECT g.id,
		   g.nazwa,
		   g.dzien,
		   g.wyk_cw,
		   g.sala,
		   CONVERT(CHAR(5),g.godz_rozp,108) as godz_rozp,
		   p.nazwa_skrot as nazwa_przedmiotu_skrot,
		   p.nazwa as przedmiot,
		   pr.tytul+' '+pr.imie+' '+pr.nazwisko as prowadzacy
		FROM Grupa_zajeciowa g
			LEFT JOIN Przedmiot p
			ON g.przedmiot_id = p.id
			LEFT JOIN Prowadzacy pr
			ON pr.id = g.prowadzacy_id
		WHERE g.id = @connected_gr
	 END
   RETURN
   END